//#define _CRT_SECURE_NO_WARNINGS
//#include <stdio.h>
//#include <string.h>
//struct people {
//	char name[15];
//	int age;
//};
//
//
//
//int int_compare(const void * p1, const void * p2) {
//	return (*(int*)p1 - *(int*)p2);
//}
//
//int name_compare(const void* p1, const void* p2) {
//	return strcmp(((struct people*)p1)->name ,((struct people*)p2)->name);
//}
//
//int age_compare(const void* p1, const void* p2) {
//	return (((struct people*)p1)->age - ((struct people*)p2)->age);
//}
//
//void test1() {
//	int arr[] = { 2,3,4,1,5 };
//	int sz = sizeof(arr) / sizeof(arr[0]);
//	qsort(arr, sz, sizeof(arr[0]), int_compare);
//	for (int i = 0; i < sz; i++) {
//		printf("%d ", arr[i]);
//	}
//}
//
//void test2() {
//	struct people p[] = { {"liuliu",18},{"songsong",19},{"lili",24} };
//	qsort(p, sizeof(p) / sizeof(p[0]), sizeof(p[0]), name_compare);
//	for (int i = 0; i < sizeof(p) / sizeof(p[0]); i++) {
//		printf("\n");
//		printf("%s %d", p[i].name, p[i].age);
//
//	}
//}
//
//void test3() {
//	struct people p[] = { {"liuliu",18},{"songsong",19},{"lili",24} };
//	qsort(p, sizeof(p) / sizeof(p[0]), sizeof(p[0]), age_compare);
//	for (int i = 0; i < sizeof(p) / sizeof(p[0]) ; i++) {
//		printf("\n");
//		printf("%s %d", p[i].name, p[i].age);
//		
//	}
//}
//
//int main() {
//	test1();
//	test2();
//	test3();
//	return 0;
//}